EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Funktionen / Mathematische Funktionen
In diesem Thema
    Mathematische Funktionen
    In diesem Thema

    Mathematische Funktionen


    Es gibt mehrere mathematische Funktionen, die innerhalb EbsScript verwendet werden können:

    <

    Name

    Zweck

    Argumente

    Rückgabewert

    Beispiel

    abs

    Absoluter Wert

    1: INTEGER oder REAL:

    INTEGER oder REAL

    abs( -3.7 ); ergibt 3.7

    acos

    Arcuscosinus

    1: REAL:

    REAL

    acos(0); ergibt 1.570796

    asin

    Arcussinus

    1: REAL:

    REAL

    asin(1); ergibt 1.570796

    atan

    Arcustangens

    1: REAL:

    REAL

    atan(1); ergibt 0.785398

    atof

    Konvertiert String in reelle Zahl

    1: STRING:

    REAL

    atof("-12.34");
    ergibt -12.34

    atoi

    Konvertiert String in ganze Zahl

    1: STRING:

    INTEGER

    atoi("-12"); ergibt -12

    ceil

    Obergrenze (nächst größere ganze Zahl)

    1: REAL:

    REAL

    ceil(-1.23); ergibt -1

    cos

    Cosinus

    1: REAL:

    REAL

    cos(0); ergibt  1

    exp

    Exponent (natürlich)

    1: REAL:

    REAL

    exp(1); ergibt  2.718282

    finite prüft, ob eine Real-Variable einen gültigen endlichen Wert hat. Mit dieser Funktion kann man sowohl ungültige Real-Werte als auch Ergebnisse einer Division durch 0 abfangen. 1: REAL: BOOLEAN var

    r1,r2:real;

    begin

    enableRealDivByZeroException (false);

    r1:=0.0;

    r2:=1.0/r1;

    if (finite(r2)) then begin

    println ("r2 is finite");

    end else begin

    println ("r2 is not finite");

    end;

    end.

    floor

    Untergrenze (nächst kleinere ganze Zahl)

    1: REAL:

    REAL

    floor(-1.23); ergibt  -2

    isnan prüft, ob eine Real-Variable den Wert NaN (not a number) enthält. Achtung: Das Ergebnis einer Division durch 0 ist nicht NaN.

    Um dies abzuprüfen, ist die Funktion finite zu verwenden.

    1: REAL: BOOLEAN var

    r1,r2:real;

    begin

    enableRealDivByZeroException (false);

    r1:=-1.0;

    r2:=pow (r1,0.5);

    if (isnan(r1)) then begin

    println ("r1 is NaN");

    end else begin

    println ("r1 is not NaN");

    end;

    end.

    Log

    Natürlicher Logarithmus

    1: REAL:

    REAL

    log(10); ergibt  2.302585

    Log10

    10-basierter Logarithmus

    1: REAL:

    REAL

    log10(10); ergibt  1

    max

    Maximum

    1: INTEGER oder REAL:

    2: INTEGER oder REAL:

    INTEGER oder REAL

    max(-4.2, -3); ergibt  -3

    min

    Minimum

    1: INTEGER oder REAL:

    2: INTEGER oder REAL:

    INTEGER oder REAL

    min(-4.2, -3);
    ergibt -4.2

    pow

    Potenz

    1: REAL: (Basis)
    2: REAL: (Exponent)

    REAL

    pow(2, 0.3333) ergibt 1.259892

    rand

    Zufallszahl

    -

    INTEGER: beliebige Zahl zwischen 0 und 32767 (einschließlich)

    r:=rand;

    round

    Runden

    1: REAL:

    REAL

    round(-4.46) ergibt -4.0

    sin

    Sinus

    1: REAL:

    REAL

    sin(0.25*3.141593); ergibt 0.707107

    sqrt

    Quadratwurzel

    1: REAL:

    REAL

    sqrt(3); ergibt 1.732051

    tan

    Tangens

    1: REAL:

    REAL

    tan(0.25*3.141593); ergibt 1